<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /usr/include/sys/_select.h</title>
  </head>
  <body>
    <h1>File: /usr/include/sys/_select.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="k">/*</span>
<a name="2" /><span class="True">       2:</span> <span class="k"> * Copyright (c) 2005, 2007 Apple Inc. All rights reserved.</span>
<a name="3" /><span class="True">       3:</span> <span class="k"> *</span>
<a name="4" /><span class="True">       4:</span> <span class="k"> * @APPLE_OSREFERENCE_LICENSE_HEADER_START@</span>
<a name="5" /><span class="True">       5:</span> <span class="k"> * </span>
<a name="6" /><span class="True">       6:</span> <span class="k"> * This file contains Original Code and/or Modifications of Original Code</span>
<a name="7" /><span class="True">       7:</span> <span class="k"> * as defined in and that are subject to the Apple Public Source License</span>
<a name="8" /><span class="True">       8:</span> <span class="k"> * Version 2.0 (the &apos;License&apos;). You may not use this file except in</span>
<a name="9" /><span class="True">       9:</span> <span class="k"> * compliance with the License. The rights granted to you under the License</span>
<a name="10" /><span class="True">      10:</span> <span class="k"> * may not be used to create, or enable the creation or redistribution of,</span>
<a name="11" /><span class="True">      11:</span> <span class="k"> * unlawful or unlicensed copies of an Apple operating system, or to</span>
<a name="12" /><span class="True">      12:</span> <span class="k"> * circumvent, violate, or enable the circumvention or violation of, any</span>
<a name="13" /><span class="True">      13:</span> <span class="k"> * terms of an Apple operating system software license agreement.</span>
<a name="14" /><span class="True">      14:</span> <span class="k"> * </span>
<a name="15" /><span class="True">      15:</span> <span class="k"> * Please obtain a copy of the License at</span>
<a name="16" /><span class="True">      16:</span> <span class="k"> * http://www.opensource.apple.com/apsl/ and read it before using this file.</span>
<a name="17" /><span class="True">      17:</span> <span class="k"> * </span>
<a name="18" /><span class="True">      18:</span> <span class="k"> * The Original Code and all software distributed under the License are</span>
<a name="19" /><span class="True">      19:</span> <span class="k"> * distributed on an &apos;AS IS&apos; basis, WITHOUT WARRANTY OF ANY KIND, EITHER</span>
<a name="20" /><span class="True">      20:</span> <span class="k"> * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,</span>
<a name="21" /><span class="True">      21:</span> <span class="k"> * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,</span>
<a name="22" /><span class="True">      22:</span> <span class="k"> * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.</span>
<a name="23" /><span class="True">      23:</span> <span class="k"> * Please see the License for the specific language governing rights and</span>
<a name="24" /><span class="True">      24:</span> <span class="k"> * limitations under the License.</span>
<a name="25" /><span class="True">      25:</span> <span class="k"> * </span>
<a name="26" /><span class="True">      26:</span> <span class="k"> * @APPLE_OSREFERENCE_LICENSE_HEADER_END@</span>
<a name="27" /><span class="True">      27:</span> <span class="k"> */</span>
<a name="28" /><span class="True">      28:</span> 
<a name="29" /><span class="True">      29:</span> <span class="k">/*</span>
<a name="30" /><span class="True">      30:</span> <span class="k"> * This is called from sys/select.h and sys/time.h for the common prototype</span>
<a name="31" /><span class="True">      31:</span> <span class="k"> * of select().  Setting _DARWIN_C_SOURCE or _DARWIN_UNLIMITED_SELECT uses</span>
<a name="32" /><span class="True">      32:</span> <span class="k"> * the version of select() that does not place a limit on the first argument</span>
<a name="33" /><span class="True">      33:</span> <span class="k"> * (nfds).  In the UNIX conformance case, values of nfds greater than</span>
<a name="34" /><span class="True">      34:</span> <span class="k"> * FD_SETSIZE will return an error of EINVAL.</span>
<a name="35" /><span class="True">      35:</span> <span class="k"> */</span>
<a name="36" /><span class="True">      36:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X1NZU19fU0VMRUNUX0hfXzA_"><span class="b">_SYS__SELECT_H_</span></a>
<a name="37" /><span class="True">      37:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_X1NZU19fU0VMRUNUX0hfXzA_"><span class="b">_SYS__SELECT_H_</span></a>
<a name="38" /><span class="True">      38:</span> 
<a name="39" /><span class="True">      39:</span> <span class="m">int</span>     <span class="b">select</span><span class="f">(</span><span class="m">int</span><span class="f">,</span> <span class="b">fd_set</span> <span class="f">*</span> <a href="cpu.c_macros_ref.html#_X19yZXN0cmljdF8w"><span class="b">__restrict</span></a><span class="f">,</span> <span class="b">fd_set</span> <span class="f">*</span> <a href="cpu.c_macros_ref.html#_X19yZXN0cmljdF8w"><span class="b">__restrict</span></a><span class="f">,</span>
<a name="40" /><span class="True">      40:</span>         <span class="b">fd_set</span> <span class="f">*</span> <a href="cpu.c_macros_ref.html#_X19yZXN0cmljdF8w"><span class="b">__restrict</span></a><span class="f">,</span> <span class="m">struct</span> <span class="b">timeval</span> <span class="f">*</span> <a href="cpu.c_macros_ref.html#_X19yZXN0cmljdF8w"><span class="b">__restrict</span></a><span class="f">)</span>
<a name="41" /><span class="False">      41:</span> <span class="f">#</span><span class="n">if</span> <span class="b">defined</span><span class="f">(</span><span class="b">_DARWIN_C_SOURCE</span><span class="f">)</span> <span class="f">||</span> <span class="b">defined</span><span class="f">(</span><span class="b">_DARWIN_UNLIMITED_SELECT</span><span class="f">)</span>
<a name="42" /><span class="False">      42:</span>         <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fRVhUU05fQ18w"><span class="b">__DARWIN_EXTSN_C</span></a><span class="f">(</span><span class="b">select</span><span class="f">)</span>
<a name="43" /><span class="True">      43:</span> <span class="f">#</span><span class="n">else</span> <span class="k">/* !_DARWIN_C_SOURCE &amp;&amp; !_DARWIN_UNLIMITED_SELECT */</span>
<a name="44" /><span class="False">      44:</span> <span class="f">#</span>  <span class="n">if</span> <span class="b">defined</span><span class="f">(</span><span class="b">__LP64__</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="f">!</span><a href="cpu.c_macros_ref.html#_X19EQVJXSU5fTk9OX0NBTkNFTEFCTEVfMA__"><span class="b">__DARWIN_NON_CANCELABLE</span></a>
<a name="45" /><span class="False">      45:</span>         <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fMTA1MF8w"><span class="b">__DARWIN_1050</span></a><span class="f">(</span><span class="b">select</span><span class="f">)</span>
<a name="46" /><span class="True">      46:</span> <span class="f">#</span>  <span class="n">else</span> <span class="k">/* !__LP64__ || __DARWIN_NON_CANCELABLE */</span>
<a name="47" /><span class="True">      47:</span>         <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fQUxJQVNfQ18w"><span class="b">__DARWIN_ALIAS_C</span></a><span class="f">(</span><span class="b">select</span><span class="f">)</span>
<a name="48" /><span class="True">      48:</span> <span class="f">#</span>  <span class="n">endif</span> <span class="k">/* __LP64__ &amp;&amp; !__DARWIN_NON_CANCELABLE */</span>
<a name="49" /><span class="True">      49:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* _DARWIN_C_SOURCE || _DARWIN_UNLIMITED_SELECT */</span>
<a name="50" /><span class="True">      50:</span>         <span class="f">;</span>
<a name="51" /><span class="True">      51:</span> 
<a name="52" /><span class="True">      52:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !_SYS__SELECT_H_ */</span>
<a name="53" /><span class="True">      53:</span> </pre>
  </body>
</html>
